<?php



class GeoNameMapBuilder {

	
	const CLASS_NAME = 'lib.model.map.GeoNameMapBuilder';

	
	private $dbMap;

	
	public function isBuilt()
	{
		return ($this->dbMap !== null);
	}

	
	public function getDatabaseMap()
	{
		return $this->dbMap;
	}

	
	public function doBuild()
	{
		$this->dbMap = Propel::getDatabaseMap('propel');

		$tMap = $this->dbMap->addTable('geo_name');
		$tMap->setPhpName('GeoName');

		$tMap->setUseIdGenerator(true);

		$tMap->addPrimaryKey('GEO_NAME_ID', 'GeoNameId', 'int', CreoleTypes::INTEGER, true, null);

		$tMap->addColumn('STATUS_ID', 'StatusId', 'int', CreoleTypes::TINYINT, false, null);

		$tMap->addColumn('PRIORITY', 'Priority', 'int', CreoleTypes::INTEGER, false, null);

		$tMap->addColumn('NAME', 'Name', 'string', CreoleTypes::VARCHAR, false, 256);

		$tMap->addColumn('ASCII_NAME', 'AsciiName', 'string', CreoleTypes::VARCHAR, false, 256);

		$tMap->addColumn('ALTERNATE_NAMES', 'AlternateNames', 'string', CreoleTypes::VARCHAR, false, 2048);

		$tMap->addColumn('LATITUDE', 'Latitude', 'double', CreoleTypes::FLOAT, false, null);

		$tMap->addColumn('LONGITUDE', 'Longitude', 'double', CreoleTypes::FLOAT, false, null);

		$tMap->addColumn('FEATURE_CLASS', 'FeatureClass', 'string', CreoleTypes::VARCHAR, false, 1);

		$tMap->addColumn('FEATURE_CODE', 'FeatureCode', 'string', CreoleTypes::VARCHAR, false, 10);

		$tMap->addColumn('COUNTRY_CODE', 'CountryCode', 'string', CreoleTypes::VARCHAR, false, 2);

		$tMap->addColumn('CC2', 'Cc2', 'string', CreoleTypes::VARCHAR, false, 60);

		$tMap->addColumn('ADMIN1_CODE', 'Admin1Code', 'string', CreoleTypes::VARCHAR, false, 20);

		$tMap->addColumn('ADMIN2_CODE', 'Admin2Code', 'string', CreoleTypes::VARCHAR, false, 80);

		$tMap->addColumn('ADMIN3_CODE', 'Admin3Code', 'string', CreoleTypes::VARCHAR, false, 20);

		$tMap->addColumn('ADMIN4_CODE', 'Admin4Code', 'string', CreoleTypes::VARCHAR, false, 20);

		$tMap->addColumn('POPULATION', 'Population', 'int', CreoleTypes::INTEGER, false, null);

		$tMap->addColumn('ELEVATION', 'Elevation', 'int', CreoleTypes::INTEGER, false, null);

		$tMap->addColumn('GTOPO30', 'Gtopo30', 'int', CreoleTypes::INTEGER, false, null);

		$tMap->addColumn('TIMEZONE', 'Timezone', 'string', CreoleTypes::VARCHAR, false, 40);

		$tMap->addColumn('UPDATED_AT', 'UpdatedAt', 'int', CreoleTypes::TIMESTAMP, false, null);

	} 
} 